package com.booksystem.service;

import com.booksystem.common.RestResult;
import com.booksystem.dto.*;
import com.booksystem.dto.InventoryQueryDTO;
import com.booksystem.dto.ManualAdjustmentDTO;
import com.booksystem.dto.StockInfoDTO;
import com.booksystem.dto.WarningThresholdUpdateDTO;

/**
 * <p>
 *   库存管理服务接口
 * </p>
 * @author 段伟豪
 */
public interface InventoryService {

    /**
     * 查询商品库存
     * @param queryDTO 查询参数
     * @return RestResult结果
     */
    RestResult<StockInfoDTO> getStock(InventoryQueryDTO queryDTO);

    /**
     * 设置库存预警阈值
     * @param updateDTO 更新参数
     * @return RestResult结果
     */
    RestResult<Boolean> setWarningThreshold(WarningThresholdUpdateDTO updateDTO);

    /**
     * 手动调整商品库存
     * @param adjustmentDTO 调整参数
     * @return RestResult结果
     */
    RestResult<Boolean> adjustStock(ManualAdjustmentDTO adjustmentDTO);
}